package com.aishua.fire.service;

import java.util.List;

import com.aishua.fire.entity.app.AppCheckItemDetailsInfo;
import com.aishua.fire.entity.app.AppCheckPlanDetailsInfo;
import com.aishua.fire.entity.app.AppCheckPlanRespInfo;
import com.aishua.fire.entity.app.AppCheckPointDetailsInfo;
import com.aishua.fire.entity.checkManager.CheckPlanInfo;
import com.aishua.fire.entity.checkManager.CheckPlanReqInfo;
import com.aishua.fire.entity.checkManager.CheckPlanSatisticalInfo;
import com.aishua.fire.entity.checkManager.CheckPointInfo;
import com.aishua.fire.entity.checkManager.CheckPointReqInfo;
import com.aishua.fire.entity.checkManager.CheckPointSatisticalInfo;
import com.aishua.fire.entity.checkManager.CheckRecordDetailsTwoRespInfo;
import com.aishua.fire.entity.checkManager.CheckRecordRespInfo;
import com.aishua.fire.entity.checkManager.CheckRouteInfo;
import com.aishua.fire.entity.checkManager.CheckRouteReqInfo;

public interface CheckManagerService {


	void addCheckPlan(CheckPlanReqInfo checkPlan);

	void delCheckPlan(String id);

	void updateCheckPlan(CheckPlanReqInfo checkPlan);

	List<CheckRouteInfo> searchRouteList(String route_name, String route_num, String duty_name, int pageNumber,
			int pageSize);

	int searchRouteTotal(String route_name, String route_num, String duty_name);

	void addCheckRoute(CheckRouteReqInfo checkRoute);

	void updateCheckRoute(CheckRouteReqInfo checkRoute);

	void delRoute(String id);

	List<CheckPointInfo> searchPointList(String num, String name, String location, int pageNumber, int pageSize,String route_id);

	int searchPointTotal(String num, String name, String location,String route_id);

	void addCheckPoint(CheckPointReqInfo checkPoint);

	void delPoint(String id);

	void updateCheckPoint(CheckPointReqInfo checkPoint);

	List<CheckPlanSatisticalInfo> planStatisticalList(String start_time, String end_time, String duty_name, String name,
			int pageNumber, int pageSize);

	int planStatisticalTotal(String start_time, String end_time, String duty_name, String name);

	List<CheckPointSatisticalInfo> pointStatisticalList(String start_time, String end_time, String duty_name,
			String point_name, int pageNumber, int pageSize);

	int pointStatisticalTotal(String start_time, String end_time, String duty_name, String point_name);

	List<CheckPlanInfo> searchPlanList(String num, String name, String type, 
			int pageNumber, int pageSize);

	int searchPlanTotal(String num, String name, String type);

	void updatePointImg(String picName, String num);

	boolean findByPointNum(String num);

	boolean findByRouteNum(String route_num);

	boolean findByPlanNum(String num);

	List<CheckRecordRespInfo> searchRecordList(String userName, String pointName, String situation, String start_time,
			String end_time, int pageNumber, int pageSize);

	String exportRecord(String [] id);

	List<AppCheckPlanRespInfo> searchPlanListByApp(int pageNumber, int pageSize);

	AppCheckPlanDetailsInfo checkPlanDetailsByApp(String id);

	AppCheckPointDetailsInfo checkPointDetailsByApp(String id);

	AppCheckItemDetailsInfo checkItemDetailsByApp(String id);

    /**
     * 查询巡检记录详情接口
     * @param id
     * @return
     */
    CheckRecordDetailsTwoRespInfo recordDetails(String id);
}
